// 数据导出模块
const DataExportModule = {
    
    // 导出数据
    exportData(type) {
        const exportTypes = {
            'dept-info': '部门信息',
            'teacher-info': '教师信息',
            'dept-relations': '部门测评关系',
            'teacher-relations': '教师测评关系',
            'dept-scores': '部门分数',
            'teacher-scores': '教师分数',
            'indicators': '考核指标',
            'indicator-points': '考核点',
            'positions': '岗位信息',
            'summary-report': '测评汇总报表',
            'detail-report': '详细测评报表',
            'statistics-report': '统计分析报表'
        };

        const exportName = exportTypes[type] || type;
        
        if (!CommonModule.confirmAction(`确认导出${exportName}？`)) {
            return;
        }

        // 创建下载链接
        const downloadUrl = `${CommonModule.globalConfig.apiBase}/export/${type}`;
        
        // 创建临时链接进行下载
        const link = document.createElement('a');
        link.href = downloadUrl;
        link.download = `${exportName}_${new Date().getTime()}.xlsx`;
        document.body.appendChild(link);
        link.click();
        document.body.removeChild(link);
        
        CommonModule.showSuccess(`${exportName}导出请求已发送`);
    },

    // 批量导出
    batchExport(types) {
        if (!types || types.length === 0) {
            alert('请选择要导出的数据类型');
            return;
        }

        if (!CommonModule.confirmAction(`确认批量导出${types.length}项数据？`)) {
            return;
        }

        types.forEach((type, index) => {
            setTimeout(() => {
                this.exportData(type);
            }, index * 1000); // 间隔1秒导出，避免服务器压力
        });
    },

    // 生成测评报表
    generateReport(reportType) {
        const reportTypes = {
            'summary': '测评汇总报表',
            'detail': '详细测评报表',
            'statistics': '统计分析报表'
        };

        const reportName = reportTypes[reportType] || '报表';

        if (!CommonModule.confirmAction(`确认生成${reportName}？`)) {
            return;
        }

        CommonModule.apiRequest(`/report/generate/${reportType}`, {
            method: 'POST'
        })
        .then(response => response.json())
        .then(data => {
            if (data.code === 200) {
                CommonModule.showSuccess(`${reportName}生成成功`);
                // 自动下载生成的报表
                if (data.data && data.data.downloadUrl) {
                    window.location.href = data.data.downloadUrl;
                }
            } else {
                alert(`生成失败：${data.message}`);
            }
        })
        .catch(error => {
            CommonModule.handleApiError(error, `生成${reportName}`);
        });
    }
};

// 全局导出函数
function exportData(type) {
    DataExportModule.exportData(type);
}

// 导出模块
window.DataExportModule = DataExportModule; 